package com.pets.service;

import com.pets.entity.FileInformation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pets.utils.Result;

import java.time.LocalDate;

/**
 * <p>
 * 文件信息 服务类
 * </p>
 *
 * @author 啦啦啦
 * @since 2024-04-09
 */
public interface IFileInformationService extends IService<FileInformation> {

    /**
     * 创建文件
     * @param fileInformation
     * @return
     */
    Result register(FileInformation fileInformation);

    /**
     * 删除文件
     * @param id
     * @return
     */
    Result deleteById(Integer id);

    /**
     * 修改文件信息
     * @param fileInformation
     * @return
     */
    Result updateData(FileInformation fileInformation);

    /**
     * 分页查询
     * @param page
     * @param pageSize
     * @param fileName
     * @param languageTypeId
     * @param developmentTool
     * @param projectTypesOf
     * @param isOpen
     * @param userId
     * @return
     */
    Result selectPage(Integer page, Integer pageSize, String fileName, Integer languageTypeId, Integer developmentTool, Integer projectTypesOf, Boolean isOpen, Integer userId);

    /**
     * 数据统计图
     */
    Result orderStatistics(LocalDate beginTime, LocalDate endTime);

    Result bountyPage(Integer page, Integer pageSize, Integer bountyListId, Integer userId);

    Result putlike(Integer fileId, boolean isIncrease, Integer userId);
}
